package machine;

import java.util.ArrayList;
import static machine.RegMne.*;

class Pila extends ArrayList<Integer> {
	int limit = 1024;
	
	ArrayList<Integer> copyWords(int d, int n) {
		ArrayList<Integer> array = new ArrayList<Integer>();
		for (int i = 0; i < n; i++) {
			array.add(this.get(d + i));
		}
		return array;
	}
	
	@Override
	public boolean add(Integer i) {
		if (ST.value + HT.value == Sam.DATA_MEMORY_SIZE) {
			throw new StackOverflowError("Stack size + Heap size > MemoryData size");
		}
		return super.add(i);
	}
	
	public void add(int index, ArrayList<Integer> array) {
		if (ST.value + HT.value == Sam.DATA_MEMORY_SIZE) {
			throw new StackOverflowError("Stack size + Heap size > MemoryData size");
		}
		for (int i = 0; i < array.size(); i++) {
			this.add(index + i, array.get(i));
		}
	}
	
}